/**
 * 封装方法
 */

//toast中间文本提示  
const toast = (msg, icon) => {
  uni.showToast({
    title: msg,
    icon: !icon ? 'none' : 'success',
    duration: 2500
  })
}

//加载中
const loading = (o = { title: '加载中' }) => {
  uni.showLoading({
    title: o.title,
  })
}

//关闭加载中
const hideloading = () => {
  uni.hideLoading()
}

//模态框。确认、取消。有回调
const model = o => {
  uni.showModal({
    title: o.title || '提示',
    content: o.content || '',
    cancelText: o.cancelText || '取消',
    confirmText: o.confirmText || '确定',
    showCancel: o.showCancel == 'no' ? false : true,
    confirmColor: '#222D32',
    success: (res) => {
      if (res.confirm) {
        o.success ? o.success() : ''
      } else if (res.cancel) {
        o.fail ? o.fail() : ''
      }
    }
  })
}


//页面跳转
const goPage = (url, type = 1, delta) => {
  if (type === 1) {
    uni.navigateTo({        // 保留当前页面，跳转到应用内的某个页面。但是不能跳到 tabbar 页面
      url: "/pages" + url
    })
  } else if (type === 2) { // 关闭当前页面，跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。
    uni.redirectTo({
      url: "/pages" + url
    })
  } else if (type === 3) { // 跳转到 tabBar 页面，并关闭其他所有非 tabBar 页面
    uni.switchTab({
      url: "/pages" + url,
    })
  }
  else if (type === 4) {   // 关闭当前页面，返回上一页面或多级页面。
    uni.navigateBack({
      delta: delta
    })
  } else if (type === 5) {
    uni.reLaunch({          // 关闭所有页面，打开到应用内的某个页面
      url: "/pages" + url
    })
  }
}

//手机震动
const vibrate = () => {
	if(uni.vibrate) {
		uni.vibrate()
	} else if(uni.vibrateLong) {
		uni.vibrateLong()
	} else if(uni.vibrateShort) {
		uni.vibrateShort()
	}
}

export default {
	toast,
	loading,
	hideloading,
  model,
  goPage,
	vibrate,
}